expanding how Enum's can be set so they can come from a list or a dict