Dynamic Backend server IP

Hello all.
I’m new to HAProxy so still getting used to HA Proxy. With regards to backend configs, I have a scenario where I could have 1000’s backend server configs and wondered if there was a way to dynamically set these in config using a map…

What I’m suggesting is say this:

frontend in
bind 10.0.3.16:5000 accept-proxy
mode tcp
use_backend out
default_backend default

backend out
server int_outbound_ip %[src,map_ip(/etc/haproxy/hosts.map,default)]

This way the IP of the backend server would be dynamically chosen based on the map where I could describe internal to external IP mapping (NAT) ie.

#host.map
#internal IP external IP
172.16.1.1 X.X.1.1
172.16.1.2 X.X.1.2
172.16.1.3 X.X.1.3

I am sorry, but I cannot see the business case for this solution. If you need NAT - use NAT - and not HAPROXY.
Where comes any feature of HAPROXY into play?