I really don't like this orphan instance.  One of the following should be done:

  1. Put this upstream, which is highly unlikely since it would introduce a new dependency there.

  2. Hide via a `newtype` inside `mangopay`. Ugly, especially since `mangopay` users will need to know about the `newtype`.

  3. Do not use these instances at all, and manually call a custom `countryCodeToJson`/`countryCodeParseJson` whenever needed.  This is the least ugly solution IMHO.