Description
Description
ATM, using the external Enum type as Keycloak option type is hard due to limitations of possible mapping of enum values to Strings.
SmallRye Config uses a mapping mechanism to normalize these enum values, so f.e. enum value PROTOCOL_DEPENDENT is mapped to 'protocol-dependent' String. We should do the same for our codebase as it improves handling of our enum values as no toString() overrides are not necessary and we'll have a consistent way on how to deal with them.
Moreover, we can leverage Quarkus-specific enum types and does not have to maintain them on our own. If Quarkus adds some other value to an enum, Keycloak users might use it and we don't need to provide the next enum value to our own enum type - decreasing maintenance of these values as it's usually only a 1:1 mapping of these values. During upgrades of Quarkus and changing some of these enum values, we would see failed test HelpCommandDistTest
that shows us what has changed and we can react more quickly.
Motivation
Improve maintanance
Decrease types duplications