.eu is not a ccTLD, because the European Union is not a country.
For example, no one (well, perhaps we should say few) would argue that the United Kingdom of Great Britain and Northern Ireland is not a country, yet it operates ccTLD .uk which is not a country code assigned to a sovereign entity. GB is the country code for that country; UK is an exceptional reservation.