### Description

`FROM test | eval x1 = pow(emp_no, 1), x2 = pow(x1, 1), x3 = pow(x2, 2)`

or

`FROM test | eval x1 = substring(ip1, 3), x2 = substring(x1, 2), x3 = substring(x2, 2)`

or

`FROM test | eval x1 = concat(ip1, ip2), x2 = concat(x1, "--"), x3 = concat(x2, "**")`

will fail with 

```
                "type": "verification_exception",
                "reason": "Found 1 problem\nline 1:65: Unknown column [x2], did you mean [x1]?"
```

Spawned from https://github.com/elastic/elasticsearch/issues/99472
x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/analysis/Analyzer.java
String policyName,
            Map<String, Attribute> fieldMap,
            String enrichFieldName
        ) {
            Attribute mappedField = fieldMap.get(enrichFieldName);
            if (mappedField == null) {
                String msg = "Enrich field [" + enrichFieldName + "] not found in enrich policy [" + policyName + "]";
                List<String> similar = StringUtils.findSimilar(enrichFieldName, fieldMap.keySet());
                if (CollectionUtils.isEmpty(similar) == false) {
                    msg += ", did you mean " + (similar.size() == 1 ? "[" + similar.get(0) + "]" : "any of " + similar) + "?";
                }
                return new UnresolvedAttribute(source, enrichFieldName, null, msg);
            } else {
                return new ReferenceAttribute(source, enrichFieldName, mappedField.dataType(), null, Nullability.TRUE, null, false);
            }
        }
    }
    private static class ResolveRefs extends BaseAnalyzerRule {
        @Override
        protected LogicalPlan doRule(LogicalPlan plan) {
            final List<Attribute> childrenOutput = new ArrayList<>();
            for (LogicalPlan child : plan.children()) {
                var output = child.output();
                childrenOutput.addAll(output);
            }
            if (plan instanceof Drop d) {
                return resolveDrop(d, childrenOutput);
            }
            if (plan instanceof Rename r) {
                return resolveRename(r, childrenOutput);