This is a constraint programming (CP) model. The "vocabulary" of MIP solvers is fairly standard. They all recognize real, integer and binary variables, linear equality and inequality constraints, maybe some quadratic stuff and maybe indicator constraints. CP languages and solvers are much less standardized. Apparently MiniZinc has a construct for variables whose values are subsets of a given set of integers. Older versions of IBM's CP Optimizer seemed to have something similar ("IloIntSetVar"), but I think it has been removed.
As to how the solver implements it, that might vary from solver to solver. It could be converted internally into binary variables for each vocabulary element (1 if the element is selected for the set).