I'm not sure I get it. Using an enum effectively makes that a closed set, there is no harm of using class object.

But then, why not have constants of type DefaultCodecInfo somewhere, like maybe in CodecInfo.