I would go with creating an entity and using an association (probably many-many in your case) you can then use a reference set selector for the drop-down
Enumerations have to have a single value I would think
Yes, Stephen ist correct. An enumeration attribute has always only a single value (empty or one of the enum values). That is quite usefull in a lot of situations.
In your situation, you have a list of properties and your object can have 0 to all of them. As stephen explained, you need to have an entity and a many to many association for that.
But enumerations are still quite usefull. For example if every object has a status. This status can be stored in an enumeration. You can use enumerations in splits. That makes decissions in your process flow quite easy.