По совету товарищей немного скорректировал механизм кодирования разновидностей, находящихся в иерархии.
Слева вы видите пример, как выглядела иерархия раньше, справа - новая. Сейчас из кода подчиненной разновидности видно кто ее родитель, это очень удобно.