What options, if any, do I have to use an enum in C++ that supports reordering/inserting/removing of enum values?

The UMeta example is actually pretty solid in that you could dynamically modify the name and leave the underlying enum intact but that would impact functionality of switch statements as they work on the variable name not the UMeta as far as Im aware.