If you use a parameter in a condition to create a set you can use the formula [Dimension]=[Parameter] only on the referenced dimension, if you reference a different dimension then you need a aggregate condition like MAX( IIF([Dimension]=[Parameter],1, 0) ) = 1
Hence:
set on Category, condition [Category]=[Parameter Category]
set on Customer, condition MAX( IIF([Category]=[Parameter Category],1, 0) ) = 1