diff --git a/src/apispec/ext/marshmallow/field_converter.py b/src/apispec/ext/marshmallow/field_converter.py
index 5c9abc5..20bc56f 100644
--- a/src/apispec/ext/marshmallow/field_converter.py
+++ b/src/apispec/ext/marshmallow/field_converter.py
@@ -509,7 +509,11 @@ class FieldConverterMixin:
         ret = {}
         if isinstance(field, marshmallow.fields.Enum):
             ret = self.field2property(field.field)
-            ret["enum"] = field.choices_text
+            if field.by_value is False:
+                choices = (m for m in field.enum.__members__)
+            else:
+                choices = (m.value for m in field.enum)
+            ret["enum"] = [field.field._serialize(v, None, None) for v in choices]
         return ret
 
 

diff --git a/tests/test_ext_marshmallow_field.py b/tests/test_ext_marshmallow_field.py
index dcba184..41143dd 100644
--- a/tests/test_ext_marshmallow_field.py
+++ b/tests/test_ext_marshmallow_field.py
@@ -274,7 +274,7 @@ def test_enum_symbol_field(spec_fixture):
     field = fields.Enum(MyEnum)
     ret = spec_fixture.openapi.field2property(field)
     assert ret["type"] == "string"
-    assert ret["enum"] == "one, two"
+    assert ret["enum"] == ["one", "two"]
 
 
 @pytest.mark.parametrize("by_value", [fields.Integer, True])
@@ -289,7 +289,7 @@ def test_enum_value_field(spec_fixture, by_value):
         assert "type" not in ret
     else:
         assert ret["type"] == "integer"
-    assert ret["enum"] == "1, 2"
+    assert ret["enum"] == [1, 2]
 
 
 def test_field2property_nested_spec_metadatas(spec_fixture):

exported marshmallow Enum fields should be arrays, not CSV strings
Hi, 

I really love new support for marshmalow Enum fields but... these are not correctly exported into OAS3 :disappointed: .

We get strings:

```json
"status": {
  "type": "string",  
  "enum": "INACTIVE, ACTIVE"
}
```

but we need lists:

```json
"status": {
  "type": "string",
  "enum": [
    "INACTIVE",  "ACTIVE"
  ]
}
```

This breaks ReDoc completelly (fails to load spec and UI), and SwaggerUI partially (loads UI, but errors into console when trying to display some object schema).

Relevant docs:

- [OpenAPI guide - enums](https://swagger.io/docs/specification/data-models/enums/)
- [OpenAPI specification Schema Object - properties](https://swagger.io/specification/#schema-object)
- [JSON Schema Validation](https://datatracker.ietf.org/doc/html/draft-wright-json-schema-validation-00#section-5.20)

Minimal example:

```py
import enum
import json
from apispec import APISpec
from apispec.ext.marshmallow import MarshmallowPlugin
from marshmallow import Schema, fields

spec = APISpec(
    title="Example",
    version="1.0.0",
    openapi_version="3.0.2",
    plugins=[MarshmallowPlugin()],
)

class Statuses(enum.Enum):
    INACTIVE = 0
    ACTIVE = 1

class ItemSchema(Schema):
    id = fields.Int()
    status = fields.Enum(Statuses, allow_none=False)

spec.components.schema("Item", schema=ItemSchema)

print(json.dumps(spec.to_dict(), indent=2))
```

gives us this:

```jsoh
{
  "paths": {},
  "info": {
    "title": "Example",
    "version": "1.0.0"
  },
  "openapi": "3.0.2",
  "components": {
    "schemas": {
      "Item": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "status": {
            "type": "string",
            "enum": "INACTIVE, ACTIVE"
          }
        }
      }
    }
  }
}
```

tests/test_ext_marshmallow_field.py::test_enum_symbol_field[2.0] tests/test_ext_marshmallow_field.py::test_enum_symbol_field[3.0.0] tests/test_ext_marshmallow_field.py::test_enum_value_field[2.0-Integer] tests/test_ext_marshmallow_field.py::test_enum_value_field[2.0-True] tests/test_ext_marshmallow_field.py::test_enum_value_field[3.0.0-Integer] tests/test_ext_marshmallow_field.py::test_enum_value_field[3.0.0-True]
tests/test_ext_marshmallow_field.py::test_field2choices_preserving_order[2.0] tests/test_ext_marshmallow_field.py::test_field2choices_preserving_order[3.0.0] tests/test_ext_marshmallow_field.py::test_field2property_type[2.0-Integer-integer] tests/test_ext_marshmallow_field.py::test_field2property_type[2.0-Number-number] tests/test_ext_marshmallow_field.py::test_field2property_type[2.0-Float-number] tests/test_ext_marshmallow_field.py::test_field2property_type[2.0-String-string0] tests/test_ext_marshmallow_field.py::test_field2property_type[2.0-String-string1] tests/test_ext_marshmallow_field.py::test_field2property_type[2.0-Boolean-boolean0] tests/test_ext_marshmallow_field.py::test_field2property_type[2.0-Boolean-boolean1] tests/test_ext_marshmallow_field.py::test_field2property_type[2.0-UUID-string] tests/test_ext_marshmallow_field.py::test_field2property_type[2.0-DateTime-string] tests/test_ext_marshmallow_field.py::test_field2property_type[2.0-Date-string] tests/test_ext_marshmallow_field.py::test_field2property_type[2.0-Time-string] tests/test_ext_marshmallow_field.py::test_field2property_type[2.0-TimeDelta-integer] tests/test_ext_marshmallow_field.py::test_field2property_type[2.0-Email-string] tests/test_ext_marshmallow_field.py::test_field2property_type[2.0-Url-string] tests/test_ext_marshmallow_field.py::test_field2property_type[2.0-CustomStringField-string] tests/test_ext_marshmallow_field.py::test_field2property_type[2.0-CustomIntegerField-integer] tests/test_ext_marshmallow_field.py::test_field2property_type[3.0.0-Integer-integer] tests/test_ext_marshmallow_field.py::test_field2property_type[3.0.0-Number-number] tests/test_ext_marshmallow_field.py::test_field2property_type[3.0.0-Float-number] tests/test_ext_marshmallow_field.py::test_field2property_type[3.0.0-String-string0] tests/test_ext_marshmallow_field.py::test_field2property_type[3.0.0-String-string1] tests/test_ext_marshmallow_field.py::test_field2property_type[3.0.0-Boolean-boolean0] tests/test_ext_marshmallow_field.py::test_field2property_type[3.0.0-Boolean-boolean1] tests/test_ext_marshmallow_field.py::test_field2property_type[3.0.0-UUID-string] tests/test_ext_marshmallow_field.py::test_field2property_type[3.0.0-DateTime-string] tests/test_ext_marshmallow_field.py::test_field2property_type[3.0.0-Date-string] tests/test_ext_marshmallow_field.py::test_field2property_type[3.0.0-Time-string] tests/test_ext_marshmallow_field.py::test_field2property_type[3.0.0-TimeDelta-integer] tests/test_ext_marshmallow_field.py::test_field2property_type[3.0.0-Email-string] tests/test_ext_marshmallow_field.py::test_field2property_type[3.0.0-Url-string] tests/test_ext_marshmallow_field.py::test_field2property_type[3.0.0-CustomStringField-string] tests/test_ext_marshmallow_field.py::test_field2property_type[3.0.0-CustomIntegerField-integer] tests/test_ext_marshmallow_field.py::test_field2property_no_type_[2.0-Field] tests/test_ext_marshmallow_field.py::test_field2property_no_type_[2.0-Raw] tests/test_ext_marshmallow_field.py::test_field2property_no_type_[3.0.0-Field] tests/test_ext_marshmallow_field.py::test_field2property_no_type_[3.0.0-Raw] tests/test_ext_marshmallow_field.py::test_formatted_field_translates_to_array[2.0-List] tests/test_ext_marshmallow_field.py::test_formatted_field_translates_to_array[2.0-CustomList] tests/test_ext_marshmallow_field.py::test_formatted_field_translates_to_array[3.0.0-List] tests/test_ext_marshmallow_field.py::test_formatted_field_translates_to_array[3.0.0-CustomList] tests/test_ext_marshmallow_field.py::test_field2property_formats[2.0-UUID-uuid] tests/test_ext_marshmallow_field.py::test_field2property_formats[2.0-DateTime-date-time] tests/test_ext_marshmallow_field.py::test_field2property_formats[2.0-Date-date] tests/test_ext_marshmallow_field.py::test_field2property_formats[2.0-Email-email] tests/test_ext_marshmallow_field.py::test_field2property_formats[2.0-Url-url] tests/test_ext_marshmallow_field.py::test_field2property_formats[3.0.0-UUID-uuid] tests/test_ext_marshmallow_field.py::test_field2property_formats[3.0.0-DateTime-date-time] tests/test_ext_marshmallow_field.py::test_field2property_formats[3.0.0-Date-date] tests/test_ext_marshmallow_field.py::test_field2property_formats[3.0.0-Email-email] tests/test_ext_marshmallow_field.py::test_field2property_formats[3.0.0-Url-url] tests/test_ext_marshmallow_field.py::test_field_with_description[2.0] tests/test_ext_marshmallow_field.py::test_field_with_description[3.0.0] tests/test_ext_marshmallow_field.py::test_field_with_load_default[2.0] tests/test_ext_marshmallow_field.py::test_field_with_load_default[3.0.0] tests/test_ext_marshmallow_field.py::test_boolean_field_with_false_load_default[2.0] tests/test_ext_marshmallow_field.py::test_boolean_field_with_false_load_default[3.0.0] tests/test_ext_marshmallow_field.py::test_datetime_field_with_load_default[2.0] tests/test_ext_marshmallow_field.py::test_datetime_field_with_load_default[3.0.0] tests/test_ext_marshmallow_field.py::test_field_with_load_default_callable[2.0] tests/test_ext_marshmallow_field.py::test_field_with_load_default_callable[3.0.0] tests/test_ext_marshmallow_field.py::test_field_with_default[2.0] tests/test_ext_marshmallow_field.py::test_field_with_default[3.0.0] tests/test_ext_marshmallow_field.py::test_field_with_default_and_load_default[2.0] tests/test_ext_marshmallow_field.py::test_field_with_default_and_load_default[3.0.0] tests/test_ext_marshmallow_field.py::test_field_with_choices[2.0] tests/test_ext_marshmallow_field.py::test_field_with_choices[3.0.0] tests/test_ext_marshmallow_field.py::test_field_with_equal[2.0] tests/test_ext_marshmallow_field.py::test_field_with_equal[3.0.0] tests/test_ext_marshmallow_field.py::test_only_allows_valid_properties_in_metadata[2.0] tests/test_ext_marshmallow_field.py::test_only_allows_valid_properties_in_metadata[3.0.0] tests/test_ext_marshmallow_field.py::test_field_with_choices_multiple[2.0] tests/test_ext_marshmallow_field.py::test_field_with_choices_multiple[3.0.0] tests/test_ext_marshmallow_field.py::test_field_with_additional_metadata[2.0] tests/test_ext_marshmallow_field.py::test_field_with_additional_metadata[3.0.0] tests/test_ext_marshmallow_field.py::test_field_with_allow_none[2.0] tests/test_ext_marshmallow_field.py::test_field_with_allow_none[3.0.0] tests/test_ext_marshmallow_field.py::test_field_with_allow_none[3.1.0] tests/test_ext_marshmallow_field.py::test_field_with_dump_only[2.0] tests/test_ext_marshmallow_field.py::test_field_with_dump_only[3.0.0] tests/test_ext_marshmallow_field.py::test_field_with_load_only[2.0] tests/test_ext_marshmallow_field.py::test_field_with_load_only[3.0.0] tests/test_ext_marshmallow_field.py::test_field_with_load_only[3.1.0] tests/test_ext_marshmallow_field.py::test_field_with_range_no_type[2.0] tests/test_ext_marshmallow_field.py::test_field_with_range_no_type[3.0.0] tests/test_ext_marshmallow_field.py::test_field_with_range_string_type[2.0-Number] tests/test_ext_marshmallow_field.py::test_field_with_range_string_type[2.0-Integer] tests/test_ext_marshmallow_field.py::test_field_with_range_string_type[3.0.0-Number] tests/test_ext_marshmallow_field.py::test_field_with_range_string_type[3.0.0-Integer] tests/test_ext_marshmallow_field.py::test_field_with_range_type_list_with_number[3.1.0] tests/test_ext_marshmallow_field.py::test_field_with_range_type_list_without_number[3.1.0] tests/test_ext_marshmallow_field.py::test_field_with_str_regex[2.0] tests/test_ext_marshmallow_field.py::test_field_with_str_regex[3.0.0] tests/test_ext_marshmallow_field.py::test_field_with_pattern_obj_regex[2.0] tests/test_ext_marshmallow_field.py::test_field_with_pattern_obj_regex[3.0.0] tests/test_ext_marshmallow_field.py::test_field_with_no_pattern[2.0] tests/test_ext_marshmallow_field.py::test_field_with_no_pattern[3.0.0] tests/test_ext_marshmallow_field.py::test_field_with_multiple_patterns[2.0] tests/test_ext_marshmallow_field.py::test_field_with_multiple_patterns[3.0.0] tests/test_ext_marshmallow_field.py::test_field2property_nested_spec_metadatas[2.0] tests/test_ext_marshmallow_field.py::test_field2property_nested_spec_metadatas[3.0.0] tests/test_ext_marshmallow_field.py::test_field2property_nested_spec[2.0] tests/test_ext_marshmallow_field.py::test_field2property_nested_spec[3.0.0] tests/test_ext_marshmallow_field.py::test_field2property_nested_many_spec[2.0] tests/test_ext_marshmallow_field.py::test_field2property_nested_many_spec[3.0.0] tests/test_ext_marshmallow_field.py::test_field2property_nested_ref[2.0] tests/test_ext_marshmallow_field.py::test_field2property_nested_ref[3.0.0] tests/test_ext_marshmallow_field.py::test_field2property_nested_many[2.0] tests/test_ext_marshmallow_field.py::test_field2property_nested_many[3.0.0] tests/test_ext_marshmallow_field.py::test_nested_field_with_property[2.0] tests/test_ext_marshmallow_field.py::test_nested_field_with_property[3.0.0] tests/test_ext_marshmallow_field.py::TestField2PropertyPluck::test_spec[2.0] tests/test_ext_marshmallow_field.py::TestField2PropertyPluck::test_spec[3.0.0] tests/test_ext_marshmallow_field.py::TestField2PropertyPluck::test_with_property[2.0] tests/test_ext_marshmallow_field.py::TestField2PropertyPluck::test_with_property[3.0.0] tests/test_ext_marshmallow_field.py::TestField2PropertyPluck::test_metadata[2.0] tests/test_ext_marshmallow_field.py::TestField2PropertyPluck::test_metadata[3.0.0] tests/test_ext_marshmallow_field.py::TestField2PropertyPluck::test_many[2.0] tests/test_ext_marshmallow_field.py::TestField2PropertyPluck::test_many[3.0.0] tests/test_ext_marshmallow_field.py::TestField2PropertyPluck::test_many_with_property[2.0] tests/test_ext_marshmallow_field.py::TestField2PropertyPluck::test_many_with_property[3.0.0] tests/test_ext_marshmallow_field.py::test_custom_properties_for_custom_fields[2.0] tests/test_ext_marshmallow_field.py::test_custom_properties_for_custom_fields[3.0.0] tests/test_ext_marshmallow_field.py::test_field2property_with_non_string_metadata_keys[2.0] tests/test_ext_marshmallow_field.py::test_field2property_with_non_string_metadata_keys[3.0.0]