### Elasticsearch Version

main @ 1266718e1cdef07a8c7cd1a463707825fabf7277

### Installed Plugins

_No response_

### Java Version

openjdk 17.0.8 2023-07-18

### OS Version

Ubuntu 23.;04

### Problem Description

`DISSECT`'s option `append_separator` is not case insensitive in contrast to all other ESQL keywords.

### Steps to Reproduce

This query works:
```
POST _query?format=txt
{
  "query": """
ROW a = "john jacob jingleheimer schmidt"
| DISSECT a "%{+name} %{+name} %{+name} %{+name}" append_separator="---"
  """
}
```
The identical query with upper cased `APPEND_SEPARATOR` does not:
```
POST _query?format=txt
{
  "query": """
ROW a = "john jacob jingleheimer schmidt"
| DISSECT a "%{+name} %{+name} %{+name} %{+name}" APPEND_SEPARATOR="---"
  """
}
```
It fails with `Invalid option for dissect: [APPEND_SEPARATOR]`.

### Logs (if relevant)

_No response_
x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/parser/LogicalPlanBuilder.java
}
            List<NamedExpression> keepClauses = visitList(this, ctx.enrichWithClause(), NamedExpression.class);
            return new Enrich(
                source,
                p,
                new Literal(source(ctx.policyName), policyName, DataTypes.KEYWORD),
                matchField,
                null,
                keepClauses.isEmpty() ? List.of() : keepClauses
            );
        };
    }
    @Override
    public NamedExpression visitEnrichWithClause(EsqlBaseParser.EnrichWithClauseContext ctx) {
        Source src = source(ctx);
        String enrichField = enrichFieldName(ctx.enrichField);
        String newName = enrichFieldName(ctx.newName);
        UnresolvedAttribute enrichAttr = new UnresolvedAttribute(src, enrichField);
        return newName == null ? enrichAttr : new Alias(src, newName, enrichAttr);
    }
    private String enrichFieldName(EsqlBaseParser.SourceIdentifierContext ctx) {
        String name = ctx == null ? null : visitSourceIdentifier(ctx);
        if (name != null && name.contains(WILDCARD)) {
            throw new ParsingException(source(ctx), "Using wildcards (*) in ENRICH WITH projections is not allowed [{}]", name);
        }
        return name;
    }
    interface PlanFactory extends Function<LogicalPlan, LogicalPlan> {}
}