В основном используются как константы для тех или иных значений. Несмотря на их мощь, как вы сказали, в микросервисной архитектуре это одно из больных мест - при интеграции с другими сервисами и обновлении в них энамов мы при десериализации значений получаем эксепшен, ну или нужно писать свой десериализатор для каждого из них.
Если вернуться к ответу и ответить кратко - то это справочники.