Additional attributes when update an enum with declaration.

Updated the declaration way for updating an enum to take in additional values, examples below:

```ruby

# migration
def change
  create_table :conversations do |t|
    t.integer :status
    t.string  :handled_by

    t.timestamps
  end
end

class Conversation < ActiveRecord::Base
  enum status: [ :active, :archived ]
end

# conversation.update! status: 0
conversation.active!
conversation.active? # => true
conversation.status  # => "active"

# conversation.update! status: 0, handled_by: "admin1"
conversation.archived! handled_by: "admin1"
conversation.archived? # => true
conversation.status  # => "archived"
conversation.handled_by # => "admin1"
```