Use a new function in BitcoinTestFramework (get_node_args) to specify which options each node should have.
I guess this is a matter of taste, but in my opinion this makes the code cleaner (also for future changes to the options). It would even allow to specify "general" options that are set differently for the four nodes (e. g., two could always have -txindex and two not, so that both behaviours can be tested).