Many open source DNS servers support region specific responses based upon group or edns subnet info. The venerable bind which is available on almost all systems supports it. There are some such as gdnsd which are purpose specific for this use case. In addition many managed DNS providers support geo based DNS replies.
All you need is a properly configured authoritative domain DNS server with the appropriate logic to inspect client GeoIP details and spit out the appropriate result. Anyone who wants to bother creating, setting up, and operating/ / maintaining such a system can do it.