The difficult bit is that the enumitem package has a closed list of numbering formats, and that \hebrewnumeral is not part of them. I have
\renewcommand{\theenumi}{\hebrewnumeral{\value{enumi}}}
\renewcommand{\labelenumi}{\theenumi}
but this is not so robust, e.g., it applies only to lists at the first level, and then there are issues of references to the list and more.
Any ideas on how the enumitem package can be hacked to do this?

\makeatletter \def\hebnum#1{\expandafter\hebrewnumeral\csname c@#1\endcsname} \AddEnumerateCounter{\hebnum}{\hebrewnumeral}{XXX} \makeatotherwork? Lifted from the enumitem docs sec.2.3, I don't know enough about the xetex mechanisms to try with proper hebrew stuff. – Ulrich Schwarz Feb 18 '11 at 15:51babel, a simple solution is given here. – Evan Aad Dec 09 '22 at 05:48