Implements the ability to make an immutable enum object