I'd make the texture black-and-white. By doing that, you can just set the color of the white/gray parts using glColor(), since the color from glColor() is multiplied per pixel with the texture sample color.
White texture color * red glColor() color = (1, 1, 1) * (1, 0, 0) = (1, 0, 0) = red
Gray texture color * green glColor() color = (0.5, 0.5, 0.5) * (0, 1, 0) = (0, 0.5, 0) = somewhat dark green
etc...
I know that but I still want to learn different techniques ( I hope I spelled last word correctly ).