Creates the codec assuming the low-level representation is a String. The encoding function uses the enum's .toString. Similarly,
the decoding function performs a case-insensitive search using the enum's .toString
Creates the codec assuming the low-level representation is a String. The encoding function uses the enum's .toString. Similarly,
the decoding function performs a case-insensitive search using the enum's .toString