Всё плохо.
Во первых, Тип Entity - это класс. Определение (definition) класса - это сам класс, узнать всю информацию о классе можно с помощью рефлексии.
Например, конкретная фича (фича под номером 1) - это объект (экземпляр) класса Фича. Поскольку класс Фича одновременно ещё и тип сущности (энтити), то получить определение этого типа можно с помощью рефлексии.
Вопрос, какая нужна информация о типе сущности, которую нельзя получить с помощью рефлексии?
Причем тут рефлекция? Каким образом имея поле "type" со значением "фича_1" мне рефлекция поможет вытащить конфигурацию для этого типа, вызвать фабрику каких-то обьектов, присущим этому типу (это реальный юс кейс, детали упускаются) или узнать, как и во что десериализировать данные из поля "data"?
id | type | data
1 | f1 | 123
2 | f2 | {"sections": ["one", "two"]}
3 | f1 | 877
Имея такие данные, каким образом мне десириализировать data в обьект типа LimitedOptionData для опций 1 и 3, и в обьект типа SectionedOptionData для опции 2?
Каким образом мне создать обьекты типа F1OptionPresenter для опций 1 и 3, и обьект типа F2OptionPresenter для опции 2?
Рефлекция тут ни при чем.