Q:

Aligning text in enumerate

I would like to know if there's any environment that allows both numbering (as in enumerate) and tabbing (&, as in align). I would also want to keep using an equation-like environment in order to have the \tag*{} command available. I can do what I'd like using the tabto package, but I find this solution not very satisfying (too tedious...and well, looks stupid)  
\documentclass[a4paper]{article}
\textwidth=400pt
\usepackage{amsmath}
\usepackage{tabto}

\begin{document}

\noindent  and that satisfy:
\begin{enumerate}
\item \textbf{Associativity}  \tabto{2.6cm} \text{:} \tabto{3.2cm} 
                               $(a\star b)\star c=a\star(b\star c)=a\star b\star c$ 
                              \tabto{10cm} $\forall a, b, c\in G$
%
\item \textbf{Simplification} \tabto{2.6cm} \text{:} \tabto{3.2cm} 
                              $g\star g^{-1}=g^{-1}\star g=e_{G} $ 
                              \tabto{10.6cm} $\forall g\in G$
%
\item \textbf{Neutrality}     \tabto{2.6cm} \text{:} \tabto{3.2cm} 
                              $e_{G} \star g=g\star e_{G}=g$  
                              \tabto{10.6cm} $\forall g\in G$
\end{enumerate}
\end{document}

Would there be any alternative?

A:

I don't think that there is any such environment, but you could instead wrap everything inside an xalignat* environment and use a custom counter for your items. I am thinking of something like this:
\documentclass[a4paper]{article}
\textwidth=400pt
\usepackage{amsmath}
\usepackage{tabto}
\newcounter{myitem}
\newcommand\myitem[1][\relax]{%
  \refstepcounter{myitem}\textbf{\arabic{myitem}.\space}&\textbf{#1}%
}
\begin{document}

\noindent  and that satisfy:
\begin{xalignat*}{3}
\myitem[Associativity] & (a\star b)\star c=a\star(b\star c)=a\star b\star c
                       && \forall a, b, c\in G
\\
\myitem[Simplification] & g\star g^{-1}=g^{-1}\star g=e_{G}
                        && \forall g\in G
\\
\myitem[Neutrality] & e_{G} \star g=g\star e_{G}=g
                    && \forall g\in G
\end{xalignat*}
\end{document}

which produces:

You didn't really say what you wanted the output to look like, except that you didn't like what you had done:), so this probably does not quite have the flavour that you want. If you want to give more information about what you want, with examples, I can try and tweak this. For example, you could instead wrap everything inside a  environment like this:
\documentclass[a4paper]{article}
\textwidth=400pt
\usepackage{amsmath}
\usepackage{tabularx}
\newcounter{myitem}
\newenvironment{enumtab}[1]{%
   \setcounter{myitem}{0}\parindent=0pt%
   \renewcommand\item[1][\relax]{%
      \refstepcounter{myitem}\textbf{\arabic{myitem}.\space##1}%
   }
   \tabularx{\textwidth}{#1}%
}{\endtabularx}

\begin{document}

\noindent  and that satisfy:

\begin{enumtab}{@{}XXX@{}}
\item[Associativity] & $(a\star b)\star c=a\star(b\star c)=a\star b\star c$
                       & $\forall a, b, c\in G$
\\
\item[Simplification] & $g\star g^{-1}=g^{-1}\star g=e_{G}$
                        & $\forall g\in G$
\\
\item[Neutrality] & $e_{G} \star g=g\star e_{G}=g$
& $\forall g\in G$
\end{enumtab}
\end{document}

giving

Of course, this will not play quite as well with \tag.

