1

It's method extraction time!
But before that, I have to comment on your Player enum:
str is a bad name, name would be better.
Speaking of name, all enums have a name() method by default. You don't need your str variable, return name(); instead.
Speaking of return name();, that's exactly what t...