create_tagging_chain returning an array string not respecting enum values
Labels: name: area: embeddings, name: auto:bug

### System Info

Good day, I'm attempting to use `create_tagging_chain_pydantic` to tag certain markets wherein a product is used. The product can be used across multiple markets. Unfortunately the chain doesn't appear to respect the `enum` values passed to it for a return type of an array of string (it works correctly for a [single] string output).

```python
class Tags(BaseModel):
    market_verticals: List[str] = Field(...,
                                        enum=["pharmaceutical", "biotech", "food and beverage", "cosmetic",
                                              "industrial", "nutraceuticals", "agriculture", "other"],
                                        description="""describes which of the market verticals of the various uses 
                                          of the product
                                        """)

def main(): 
    llm = ChatOpenAI(temperature=0, model="gpt-3.5-turbo-0613")

    chain = create_tagging_chain_pydantic(Tags, llm)

    market_verticals = chain.run(
        "The product is used in the production of food additives, pharmaceuticals, and cosmetics")  
```

Output: 

```bash
market_verticals=['food additives', 'pharmaceuticals', 'cosmetics']
```

Amending the prompt, produces the expected output:

```python
class Tags(BaseModel):
    market_verticals: List[str] = Field(...,
                                        enum=["pharmaceutical", "biotech", "food and beverage", "cosmetic",
                                              "industrial", "nutraceuticals", "agriculture", "other"],
                                        description="""describes which of the market verticals of the 
                                            various uses of the product. Market verticals are:
                                            pharmaceutical, biotech, food and beverage, cosmetic, industrial,
                                            nutraceuticals, agriculture and other.
                                        """)

```

Output:

```bash
market_verticals=['food and beverage', 'pharmaceutical', 'cosmetic']
```

```bash
$ python3 -V
Python 3.10.10

$ pip show langchain
Name: langchain
Version: 0.0.240
Summary: Building applications with LLMs through composability
Home-page: https://www.github.com/hwchase17/langchain
Author: 
Author-email: 
License: MIT
Location: /home/tim/Documents/git/ai-magellan/.venv/lib/python3.10/site-packages
Requires: aiohttp, async-timeout, dataclasses-json, langsmith, numexpr, numpy, openapi-schema-pydantic, pydantic, PyYAML, requests, SQLAlchemy, tenacity
Required-by: kor
```



### Who can help?

_No response_

### Information

- [ ] The official example notebooks/scripts
- [X] My own modified scripts

### Related Components

- [ ] LLMs/Chat Models
- [ ] Embedding Models
- [ ] Prompts / Prompt Templates / Prompt Selectors
- [ ] Output Parsers
- [ ] Document Loaders
- [ ] Vector Stores / Retrievers
- [ ] Memory
- [ ] Agents / Agent Executors
- [ ] Tools / Toolkits
- [X] Chains
- [ ] Callbacks/Tracing
- [ ] Async

### Reproduction

Write and run the code below:

```
from typing import List
from dotenv import load_dotenv
from langchain.chat_models import ChatOpenAI
from langchain.chains import create_tagging_chain, create_tagging_chain_pydantic
from langchain.prompts import ChatPromptTemplate
from enum import Enum
from pydantic import BaseModel, Field


class Tags(BaseModel):
    # enum doesn't work with array
    market_verticals: List[str] = Field(...,
                                  items={"type": "string"}, enum=["pharmaceutical", "biotech", "food and beverage", "cosmetic",
                                                                  "industrial", "nutraceuticals", "agriculture", "other"],
                                  description="""describes which of the market verticals of the 
                                            various uses of the product
                                        """)


def main():
    llm = ChatOpenAI(temperature=0, model="gpt-3.5-turbo-0613", verbose=True)

    chain = create_tagging_chain_pydantic(Tags, llm, verbose=True)

    market_verticals = chain.run(
        "Vitamin B is is used in the production of food additives, pharmaceuticals, and cosmetics")

    print(market_verticals)


if __name__ == "__main__":
    load_dotenv()
    main()
```

### Expected behavior

Expected output: 

```bash
market_verticals=['food and beverage', 'pharmaceuticals', 'cosmetics']
```