Here's a go at comparing four different packages. I think I like tasks
best.
\documentclass{article}
\usepackage{url}
\usepackage{shortlst}
\usepackage{hlist}
\usepackage{tasks}
\usepackage{multienum}
\begin{document}
\section*{A comparison of horizontal list packages}
\subsection*{shortlst}
\texttt{shortlst} has a non-free licence, so you will need to grab it from
CTAN at \url{https://ctan.org/pkg/shortlst}.
Also, it uses the standard \LaTeX{} labels without easy customisation, so you
have to use a hook to redefine them if you want something else.
\AddToHook{env/shortenumerate/begin}{%
\renewcommand\theenumi{\alph{enumi}}%
\renewcommand\labelenumi{\emph{\theenumi})}}
The width of items is calculated automatically to maximise the number of items
per line, but you can set the item width manually using
\verb|\shortitemwidth|.
\begin{shortenumerate}
\item $(+7)+(-12)$
\item $(-7)+(+12)$
\item $(-7)+(-12)$
\item $(+9)+(-5)$
\item $(-4)+(+10)$
\item $(-12)+(-10)$
\item $(+9)+(-9)$
\item $(+12)+(-18)$
\item $(-20)+(+16)$
\end{shortenumerate}
\subsection*{hlist}
\texttt{hlist} seems to work pretty well and his a flexible interface to set
the list parameters. The defaults are not very much like the default \LaTeX{}
lists so I had to fiddle with them a bit.
\sethlist{label sep=0.5em, item offset=2.5em, label width=2em, pre label={},
label={\emph{\alph{hlisti}})}, label align=right}
\begin{hlist}3
\hitem $(+7)+(-12)$
\hitem $(-7)+(+12)$
\hitem $(-7)+(-12)$
\hitem $(+9)+(-5)$
\hitem $(-4)+(+10)$
\hitem $(-12)+(-10)$
\hitem $(+9)+(-9)$
\hitem $(+12)+(-18)$
\hitem $(-20)+(+16)$
\end{hlist}
\subsection*{tasks}
\texttt{tasks} seems to be the most actively maintained package and has a good
interface for modifying list settings. Default settings are reasonably close
to the standard \LaTeX{} lists.
\settasks{label=\emph{\alph*}), label-align=right, label-offset=0.5em,
after-item-skip=-\parsep}
\begin{tasks}(3)
\task $(+7)+(-12)$
\task $(-7)+(+12)$
\task $(-7)+(-12)$
\task $(+9)+(-5)$
\task $(-4)+(+10)$
\task $(-12)+(-10)$
\task $(+9)+(-9)$
\task $(+12)+(-18)$
\task $(-20)+(+16)$
\end{tasks}
\subsection*{multienum}
\texttt{multienum} uses a somewhat different interface, but still seems to
work fairly well.
There's no interface to customise labels and spacing though, so need to
redefine things manually. Except I couldn't find an easy way of modifying the
spacing between rows.
\renewcommand{\regularlisti}{%
\setcounter{multienumi}{0}%
\renewcommand{\labelenumi}{%
\addtocounter{multienumi}{1}\emph{\alph{multienumi}})}}
\begin{multienumerate}
\setlength{\parskip}{0pt}%
\setlength{\itemsep}{0pt}%
\mitemxxx{$(+7)+(-12)$}{$(-7)+(+12)$}{$(-7)+(-12)$}
\mitemxxx{$(+9)+(-5)$}{$(-4)+(+10)$}{$(-12)+(-10)$}
\mitemxxx{$(+9)+(-9)$}{$(+12)+(-18)$}{$(-20)+(+16)$}
\end{multienumerate}
\end{document}

enumerate
andmulticols
.task
does the job. Can you write a response?