rfernandez The question was preciselly oriented towards not having to define a table for holding a few static values
Please state this beforehand so that I can understand where you are coming from :)
We decided against having another "simpler" way of offering this functionality (fixed values as single/multi selection in inputs), as then we would have multiple ways of achieving the same result; especially because this other way would be more limited (no filtering, no policies, no translations, and so on). And it would be really complicated, if you later needed to switch to the "proper" way (ie. relationships) when your requirements change.
rfernandez I mentioned the collections as a way or reading these values once when the user logs in and avoid executing the queries every time the values are required
Collections is a specific feature that works by querying relations - it would not have anything to do with optimizing access to ENUM field data. If we were to offer a feature like this, collections would be a bad idea, as these are controlled by app authors and they would then have to create these for every ENUM attribute.
rfernandez I'll probably go for the tables plus basic CRUDs, and have the user load the values.
Sorry but this negates the point of your request, in my view. Either you need simple values that are fixed (like an ENUM: value1, value2, value3, etc. as you described) - in this case your customer wants these values. Presets would do exactly that. They are even more flexible than ENUMs, as they can be updated if you want (s. protection settings on presets).
Or you do not want fixed values - then ENUMs would be worthless as these are fixed by definition.