You can't use getValue() on the IMendixObject as that will directly get you the value, you'll have to use getMember() for this. I'll try to work out a small example.
Edit: code sample:
IMendixObjectMember<?> member = obj.getMember(getContext(), memberName);
if (member instanceof MendixEnum) {
MendixEnum mendixEnum = (MendixEnum) member;
for (IMetaEnumValue value : mendixEnum.getEnumeration().getEnumValues().values())
if (value.getIdentifier().equals(member.getValue(getContext())))
System.out.println(Core.getInternationalizedString("en_US", value.getI18NCaptionKey()));
}