I've been faced with these situations on my current project. I found myself going more the entity route because of how dynamic our customer wants their system to be.
When deciding between the two I usually ask a few questions to determine if it should be an enumeration vs an entity. I usually ask how often do these options change, and does this selection drive any logic in the application.
If the options don't change that much, then it could be a candidate for an enumeration, but if they need to be changed pretty often or if a change needed to be done immediately then an entity would be better suited.
If the selection drives any logic in a microflow or is used for conditional visibility, then it would be a lot easier to use an enumeration but you could still use an entity and add flags that would be configured during the initial setup. This helps avoid having to use Xpath retrieves with fix text.
That's just a few factors that I could think of off the top of my head. Hope this helps!
I tend to go with entities all the time.
Even when everyone says 'it will never change' it probably will.
If it's about logic, you can add that to the entity, which makes it a lot clearer. So for instance when you have a conditional split on your enumeration, and you start using an entity instead, then add an attribute to the entity that takes that decision. That way, the logic can be changed in the admin screen.