Removing getters for a custom enum
I guess your question is essentially:
why do you need getters for final fields,
rather than accessing them directly by name.

One reason is that you won't be able to create custom subclasses that extend the functionality of those fields,
because variables cannot be overridden,
only methods.

This may seem a moot point with an enum as in your question,
because enums cannot be extended anyway.
The most extensible setup is when you work with interfaces.
You could have a Country interface that includes those getters,
and an enum that implements that interface and those getters.
Then you could have a CustomCountry that implements the same interface.
Of course this extensible setup requires methods instead of variables.

Another reason to use getters instead of variables is that the member variables are too intimate implementation details.
In the future you might want to derive these values from multiple other variables,
but you won't be able to without disrupting your users,
since the original variable names are now part of the public API of your class/enum.
By exposing getters instead of the variables directly,
you are free to refactor your internal implementation without disrupting your users.