Yeah CF Workers probably needed. Closest thing would be for CF Enterprise plan load balancer you can choose to use Geo Steering https://developers.cloudflare.com/load-balancing/understand-basics/traffic-steering/#geo-steering
Geo Steering directs traffic to pools based on the client’s region or PoP. Only domains on Enterprise plans can perform Geo Steering by PoP. Users specify the pools to which the load balancer should direct traffic for a given geographical region or PoP. You can assign multiple pools to the same region, and the load balancer will use them in failover order. If there is no configuration for a region or pool, the load balancer will use the default failover order.
Cloudflare has 13 geographic regions that span the world. The region of a client is determined by the region of the Cloudflare data center that answers the client’s DNS query. These regions are listed below, along with their region codes.
But that you’d be limited to isolating and routing traffic based on CF datacenter region and not IP.
If that is all you want to do, then you can just test internally with DNS host level overrides i.e. /etc/hosts bypassing Cloudflare