Allow Enumerables to be used with "where" filter.

Follow-up PR to #2980

Allows objects that are `Enumerable` to be used with the `where` filter. I've included a test to properly handle filtering a Hash of Objects. If there is any other functionality or test that isn't covered, please let me know and I can include.
The filter method calls `.values` if it is a Hash, so the return value would actually be `[{'color' => 'red'}]` which is exactly what we want. I'll add this test case anyways.