html_url,issue_url,id,node_id,user,created_at,updated_at,author_association,body,reactions,performed_via_github_app,issue
https://github.com/pydata/xarray/issues/2292#issuecomment-722565840,https://api.github.com/repos/pydata/xarray/issues/2292,722565840,MDEyOklzc3VlQ29tbWVudDcyMjU2NTg0MA==,22542812,2020-11-05T18:41:24Z,2020-11-05T18:41:24Z,NONE,"I just came along this question as I tried something similar to @joshburkart. Using a string-enum instead, the code works in principle:

```python
import enum

import numpy as np
import pandas as pd
import xarray as xr

class CoordId(str, enum.Enum):
    LAT = 'lat'
    LON = 'lon'

pd.DataFrame({CoordId.LAT: [1,2,3]}).to_csv()
# Returns: ',CoordId.LAT\n0,1\n1,2\n2,3\n'

xr.DataArray(
    data=np.arange(3 * 2).reshape(3, 2),
    coords={CoordId.LAT: [1, 2, 3], CoordId.LON: [7, 8]},
    dims=[CoordId.LAT, CoordId.LON],
)
# output
# <xarray.DataArray (lat: 3, lon: 2)>
# array([[0, 1],
#        [2, 3],
#        [4, 5]])
# Coordinates:
#   * lat          (CoordId.LAT) int64 1 2 3
#   * lon          (CoordId.LON) int64 7 8
```

We however got somewhat ambivalent results, that the dimensions are still enum elements `dims = (<CoordId.LAT: 'lat'>, <CoordId.LON: 'lon'>)`, but the coordinate names are the strings. After writing and reading the `DataArray`, everything is a plain string, we can still access the elements using the enum elements, as they are equal to the strings.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,341643235