Heterogeneous Generalizations Of Vertex Coloring