Add Select enum to support #read overloading
Add #read(Select) method