I'm not sure changing the argument order would improve clarity.
Here's another idea: If I replaced "m_inferPartitioning" with "m_forcePartitioning" then when I keep my initializers in the order (forcePartitioning, forceSP) then the static forceSP uses (true, true), the static forceMP uses (true, false) and the static inferPartitioning uses (false, false). Is that better? OR I suppose I could just use a private 3-valued enum type.