We are currently discussing in the team whether to use enums for a field. As far as I know enums are not stored as constants but as int (offset of the declaration) within the message it can lead to misinterpretation of older messages if the schema changes. We have chosen the Compatibility mode: Transitive forward for our schema registry.
I noticed that I can delete values inside the enum but I can’t add values.
The first question is now am I making a mistake or is this intentional?
The second question would be :
What is the best way if you want to communicate e.g. a gender within a message. Normally you would specify an enum with male and female, but to avoid the problems with the enums what would be a better option?