Given a certain Gray code consisting of 2n codewords, it is possible to generate from it n! 2n codes by permuting and/or complementing the bits in all the codewords in the same manner. The codes obtained this way are all defined to be of the same type. An approach for converting the standard Gray code (known as the reflected code) into other Gray codes of different types is presented in this paper. A systematic way of generating, for example, all types of Gray codes consisting of 16 codewords is given.