This is generally caused by the policy being in a state where it cannot be executed as it's currently configured. One scenario is due to policies involving expired budgets.
If the policy is built on an expired budget it will not be able to evaluate. When the platform evaluates a policy block that is built on an expired budget, the policy block is disabled because there is nothing valid to evaluate. To get the policy to operate as expected, update the dates on the budget to include current dates or build a new budget and update the policy to evaluate against the new budget.
For situations where a policy will toggle to disabled after attempting to enable it, be sure to review all policy blocks to ensure the elements are valid and current.