The first request can be achieved by something like this:
#show enum: s => s.children.enumerate(
start: s.start
).map(((k, it)) => {
numbering(s.numbering, k)
" "
it.body
}).join("; ")
In the same fashion, the other cases can be achieved – however one has to figure out how to deal with longer items.