What I did can change hues of each channel, but that is cumbersome for just a hue shift, as obviously same value for each hue shift will be a result of all the same colour again.
Also a issue I've noticed with RGB selection in TG is the resulting scalars, don't actually mask all of the appropriate colour when grabbing the different channels as masks, so there is slight colour loss/bleed at the edges of channel masks. In the final mix I don't notice it having a bad effect but is very noticeable in the single channels.
Update: This wiki may explain the HSL node better and how to get the best results from it. It is meant to be RGB colour attribute picker, so I think I was on the right track.
https://en.wikipedia.org/wiki/HSL_and_HSV