Преодолевается заменой таблички данных [enum_key : string] на
функцию, возвращающую string. Внутри функции - switch по всем
кейсам и без default (важно!). Компилятору задать флажок -Wswitch
(или типа того). Теперь, если добавить новое в enum - компилятор
ругнётся, пока этот кейс не будет добавлен в табличку-функцию. Не
скажу как в сях, но в плюсах такое точно есть и давно уже. зы: сам то я и на плюсах давно не пишу, но в новомодных языках такой подход практикуется тоже. В Swift, например, по умолчанию включено и сразу ошибку кидает - даже не ворнинг