Какой прок от этого энама, если он не зафиксирован в коде? Проще заменить его на строку или на явный мапинг числа на строку. Ну и всякие линтеры будут верещать из-за того, что ты используешь неизвестное значение для энама.
помню на каком то пайконе кто то рассказывал что делал всякую дичь во время импорта (в том числе чтение монги) и выбирать что дальше импортить. В общем он говорил что так делать нельзя, но у него были причины для этого.
Ленивая инициализация, имхо тоже плохо. Тут надо явно загрузить "справочник". Но почему решили так делать, я до сих пор не понял (можно сказать забил выяснять, своих дел полно). В общем хотелось бы статью в которой детально разбирается этот вопрос. То что дробпокс написали пару предложений про это -- этого не достаточно убедительно.
Бобук такое показывал и рассказывал, но с джейсонами, про монгу не помню. Он говорил что-то типа того, что ему можно потому что 1. он Бобук 2. ему надо чтобы 100 джунов могли конфиги импортить 3. он понимает, что так делать не надо, но см. пп. 1, 2
А есть в природе хеш-функция обладающая свойством: H(a + b) == Combine(h(a), h(b)) ? Т.е. что бы можно было посчитать какой-то хеш от частей целого, и потом из этих частных хешей получить хеш от целого.