I would like to construct a grid from a matrix. For example, one possible matrix is M1$M1$.
$$M1= \begin{pmatrix} c2 & a1 & a1 & a1 & a1 & a1\\ a2 & b1 & c2 & a1 & a1 & a1\\ a2 & c2 & b2 & a1 & a1 & a1\\ b2 & b2 & c1 & b1 & c2 & a1\\ b2 & c1 & b1 & c2 & b2 & a1\\ a2 & b1 & b1 & a2 & a2 & c2\\ \end{pmatrix} $$
Each element a1, a2, ..., c2$a1, a2, \dots, c2$ is represented graphically as the following.:
So I want to represent M1$M1$ as:
Here, how an element, c2$c2$ fits in the grid is shown as an example.
Is this possible in MathematicaMathematica? Currently, I have no idea even where to begin. Any help will be appreciated!