No. They're declared as dependencies in the code so if the main one is on I don't think you can actually disable (or prevent use of) the others ...
Unfortunately I can't look at the behavior right now.
I did just have a quick look at the policy dialog and while it does enable them all when switching from off to another state, it isn't totally consistent as it likely should be. Might be worth opening an issue to fix or enhance to how the policy UI operates with dependent scanners (rules):
https://github.com/zaproxy/zaproxy/issues