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

You’ve apparently never done MFC Windows programming because those two issue were never issues. :slight_smile: MFC programmers keeping track of ids will know what I mean. Just have an enum with the current max+1 enum value. Every time you want a new enum, use the current value and add 1 to the max value.

I have no clue what “using the enum order” even means. That sounds like disaster waiting to happen.