First, you might prefer to use one of the packages auto-complete or jedi.
hippie-expand works by trying to expand the current word using a list of functions, stored in the variable
hippie-expand-try-functions-list (to view its contents, press
C-h v hippie-expand-try-functions-list RET). For instance, the first function in the default value for that variable tries to expand a filename.
hippie-expand asks for an expansion for each function in turn, moving to the next when a function has exhausted all of its possible completions. (That is, you may keep pressing
[f2] to get more expansions.)
When you expand the name of a variable that already appears in your python code,
hippie-expand is using the function
try-expand-dabbrev, which searches for the current word in the current buffer. Another function on that list,
try-expand-dabbrev-all-buffers, searches for the current word in all open buffers. Thus, a quick (and dirty) solution to your problem would be to create a file with all keywords and built-ins (
enumerate is a built-in), and keep that file opened in emacs. That is, if you insist on using
hippie-expand; clearly the two packages I mentioned before seem like better solutions if you can get them to work.