Como han dicho otros, la semántica precisa depende del lenguaje de programación que usa los términos, así que daré una evaluación puramente lingüística.
"Iterable" es una palabra de nueva acuñación, obviamente que se refiere a "iterating" y a los "iteradores" que muchos idiomas han incorporado. necesariamente algo más allá de la funcionalidad de iterador más básica: procesar cada elemento una vez Invertir, eliminar, medir distancias, etc. puede o no ser compatible.
"Enumerable" se refiere a enumerar cosas, que puede significa lo mismo que iterar, pero solo si el idioma no usa "iterable" para ese propósito. Si un lenguaje tiene ambos, "enumerable" casi seguramente significa algo más, probablemente algo más poderoso. Lo más probable es que admita la idea de conectar cada elemento con un índice numérico único, y probablemente permita el acceso aleatorio (por ejemplo, recuperar el tercer elemento antes que el primero y el segundo).
Eso es todo el significado que puedes inferir razonablemente de solo las palabras. En cualquier situación concreta, consulte los documentos API de la biblioteca estándar.