You can achieve all these using DEM conditions:
Adding Conditions to Horizon Smart Policy Definitions
Configure Horizon Smart Policies