Hi Tomer,
I've given it some more thought and have experimented with Geo Policies a bit and have come to the conclusion that there is a problem wit their logic.
What Hugo trying to accomplish is, presently, not possible.
Consider these conditions:
You can only assign one Geo Policy to the gateway at the time.
Each Geo Policy is limited to accept or drop functions.
Policies can include multiple countries.
Exceptions are policy specific.
If you could have multiple Geo Policies assigned to the gateways (and processed sequentially), my suggestion would've worked.
As is, you can exempt particular traffic from All the Countries in the single policy, but you are still prevented from being granular enough to restrict access to particular services to a subset of countries.