Each head evolves independently for any type, the only restriction is that the second head to evolve will never be able to repeat the same type of the first. The idea is to have an evolutionary form for each pokemon type possible.