class EnumGeneratorComponent {

    static InjectBundle include() {
        return InjectBundle.of(
            StandardTypeMapperComponent.class,
            StandardCodeGenerationComponent.class,
            DelegatePropertyEditorComponent.class
        );
    }

    @ExecuteBefore(RESOLVED)
    public void installDecorators(
        final Injector injector,
        @WithState(INITIALIZED) final TypeMapperComponent typeMappers,
        @WithState(INITIALIZED) final CodeGenerationComponent codeGen,
        @WithState(RESOLVED) final PropertyEditorComponent editors
    ) {<FILL_FUNCTION_BODY>}
}

        typeMappers.install(String.class, StringToEnumTypeMapper::new);
        typeMappers.install(Integer.class, IntegerToEnumTypeMapper::new);

        codeGen.add(
            Table.class,
            StandardTranslatorKey.GENERATED_ENTITY,
            new GeneratedEntityDecorator(injector)
        );

        editors.install(
            HasEnumConstantsProperty.class,
            HasEnumConstantsUtil.ENUM_CONSTANTS,
            CommaSeparatedStringEditor::new
        );
    
<no_super_class>