I dont think your snippet will actually work; From just looking at it..
In your constructor you default the name to the lowercase version of the enum name if the param is null; However, varargs parameters are never null even if you dont specify any elements. Eg. Your 'names' param in constructor will never be null, but rather have length 0 for items with no names specified
I haven't actually tried it, though
EDIT: Also, it's called "Cooked meat"