I know some people prefer StringDef/IntDef instead of enum, so is that enough to say StringDef/IntDef would be preferred over a sealed class acting as just an enum?
Pros: I no longer have a parameter of type string, but I can define a sealed class so I know there are finite options.
I'm still learning about how some of these things work under the hood, and I don't know if I have any overhead costs to this I'm not aware of.