This is NOW a complete answer. We can suppose that each color appears at most three times. Take the complement of the graph. Your question becomes equivalent to decide whether this graph has a perfect matching*, where we also allow triples (K_3) to be matched together. This problem WAS studied before:
Muse's answer gives a paper that has a reference to this paper that shows that this problem is in P, see the abstract or Lemma 1 and after:
P. Hell and D. G. Kirkpatrick: Packings by cliques and by finite families of graphs
Update: Ryan found an older paper proving the necessary result:
G. Cornuéjols, D. Hartvigsen, and W. Pulleyblank: Packing subgraphs in a graph

