No square boxes so far, but coloured.
Rather than to manipulate the \labelenumi macro, it's perhaps better to define a cloned list of enumerate using the enumitem package and set coloured background and foreground as label=... (see the example)
\documentclass{article}
\usepackage{xcolor}
\usepackage{enumitem}
\newlist{mycolourenumerate}{enumerate}{4}
\setlist[mycolourenumerate,1]{label={\colorbox{red!20!black}{\color{white}\arabic*}}}
\begin{document}
\begin{mycolourenumerate}
\item First
\item
\item
\item
\item
\item
\item
\item
\item
\item
\item
\item
\item
\end{mycolourenumerate}
\end{document}
Some improved version
\documentclass{article}
\usepackage{ragged2e}
\usepackage{xcolor}
\usepackage{enumitem}
\usepackage{fmtcount}
\newlist{mycolourenumerate}{enumerate}{4}
\setlist[mycolourenumerate,1]{label={\makebox(\labelwidth,\labelwidth)[r]{\detokenize\colorbox{red!20!black}\hfill\color{white}\strut\arabic*}}}
\newlength\bulletboxwidth
\setlength\bulletboxwidth{12pt}
\newcommand{\bulletbackgroundcolour}{red!20!yellow}
\newcommand{\bulletforegroundcolour}{blue}
\setlist[mycolourenumerate,1]{label={\colorbox{\bulletbackgroundcolour}{\parbox[c][\bulletboxwidth][c]{\bulletboxwidth}{\protect\raggedleft\color{\bulletforegroundcolour}\strut\bfseries\arabic*}}}}
\setlist[mycolourenumerate,2]{label={\colorbox{\bulletbackgroundcolour}{\parbox[c][0.8\bulletboxwidth][r]{0.8\bulletboxwidth}{\protect\raggedright\color{\bulletforegroundcolour}\strut(\alph*)}}}}
\begin{document}
\begin{mycolourenumerate}
\item \Ordinalstring{mycolourenumeratei}
\item \Ordinalstring{mycolourenumeratei}
\item \Ordinalstring{mycolourenumeratei}
\item \Ordinalstring{mycolourenumeratei}
\item \Ordinalstring{mycolourenumeratei}
\item \Ordinalstring{mycolourenumeratei}
\item \Ordinalstring{mycolourenumeratei}
\item \Ordinalstring{mycolourenumeratei}
\item \Ordinalstring{mycolourenumeratei}
\item \Ordinalstring{mycolourenumeratei}
\item \Ordinalstring{mycolourenumeratei}
\item \Ordinalstring{mycolourenumeratei}
\item \Ordinalstring{mycolourenumeratei}
\item \Ordinalstring{mycolourenumeratei}
\item \Ordinalstring{mycolourenumeratei}
\item \Ordinalstring{mycolourenumeratei}
\item \Ordinalstring{mycolourenumeratei}
\item \Ordinalstring{mycolourenumeratei}
\begin{mycolourenumerate}
\item Other level
\end{mycolourenumerate}
\item \Ordinalstring{mycolourenumeratei}
\item \Ordinalstring{mycolourenumeratei}
\end{mycolourenumerate}
\end{document}

enumeratedoes not have bullets, does it? It should be numbers or letters in ascending order... – cauchy42 Sep 16 '15 at 12:33labelenumi. – cauchy42 Sep 16 '15 at 12:46