I am not sure I completely understand what you want, but what about groups
Region 1, Region 2, HR and Admin.
User 1 has membership Region1 and HR
User 2 has membership Region2 and HR
In your code you could have
if auth.has_membesrhip(Region1) and auth.has_membesrhip(HR)
tasks ...
elif auth.has_membesrhip(Region2) and auth.has_membesrhip(HR)
task ...
Maybe this points you in the direction of a solution
Best,
Annet