Enum is bad idea.
It is not possible to extend it when a non listed type is needed.