Вы можете сделать это в Java, потому что его байт-коды интерпретируются (или, что более вероятно, недавно было скомпилировано как раз вовремя): у вас есть отдельные части, и они соединяются во время выполнения.
C ++ полностью скомпилирован в нативный код.Любое изменение потребует полной компиляции.Если допустима полная перекомпиляция, то добавление нового элемента в перечисление возможно и даже меньше вероятность поломки кода, чем добавление CII.