diff --git a/lib/datagrid/drivers/array.rb b/lib/datagrid/drivers/array.rb
index <HASH>..<HASH> 100644
--- a/lib/datagrid/drivers/array.rb
+++ b/lib/datagrid/drivers/array.rb
@@ -3,7 +3,7 @@ module Datagrid
     class Array < AbstractDriver #:nodoc:
 
       def self.match?(scope)
-        !Datagrid::Drivers::ActiveRecord.match?(scope) && scope.is_a?(::Array)
+        !Datagrid::Drivers::ActiveRecord.match?(scope) && (scope.is_a?(::Array) || scope.is_a?(Enumerator))
       end
 
       def to_scope(scope)
diff --git a/spec/datagrid/drivers/array_spec.rb b/spec/datagrid/drivers/array_spec.rb
index <HASH>..<HASH> 100644
--- a/spec/datagrid/drivers/array_spec.rb
+++ b/spec/datagrid/drivers/array_spec.rb
@@ -89,5 +89,18 @@ describe Datagrid::Drivers::Array do
         it {should == [third, first, second]}
       end
     end
+
   end
+    describe "when using enumerator scope" do
+
+      it "should work fine" do
+        grid = test_report(to_enum: true) do
+          scope {[]}
+          filter(:to_enum, :boolean) do |_, scope|
+            scope.to_enum
+          end
+        end
+        grid.assets.should_not be_any
+      end
+    end
 end
Ability to use enumerator as array driver