dynamic_enum aims to continue where standard c/c++ enums leave off. They are iteratable, searchable, can contain any type and the types can be mixed. They can be class members, namespace members, or global. Their names convert to strings for passing to functions. More to come...
For now, see test.cpp
for examples.