Setting leads based on zip codes

Hi all, I am trying to set up logic to auto assign leads based on zip codes. I know how to do this by state using a business rule and process definition but setting up a rule with 41K+ zip codes seems a bit much. any ideas on the best way to set this up?