A 8-bits "colour" has 256 possible values, from 0 to 255, to represent a grayscale.
A 36-bits colour has 12 bits per channel, assuming no transparency.
You can map the 8-bits value to its 12-bits equivalent, and assign this 12-bits values to all channels:
int channelValue = grayscaleValue << 4;
the36bitsColour = new Colour(channelValue, channelValue, channelValue);