def METHOD_NAME(self, station_id: str, parameter: Enum, dataset: Enum) -> pl.DataFrame:
    endpoint = self._base_url.format(station_id=station_id)
    payload = download_file(endpoint, self.sr.stations.settings, CacheExpiry.NO_CACHE)
    measures_list = json.loads(payload.read())["items"][0]["measures"]
    measures_list = pl.Series(name="measure", values=measures_list).to_frame()
    measures_list = measures_list.filter(
        pl.col("measure")
        .apply(lambda measure: measure["parameterName"])
        .str.to_lowercase()
        .str.replace(" ", "")
        .eq(parameter.value.lower().replace("_", ""))
    )
    try:
        measure_dict = measures_list.get_column("measure")[0]
    except IndexError:
        return pl.DataFrame()
    values_endpoint = f"{measure_dict['@id']}/readings.json"
    payload = download_file(values_endpoint, CacheExpiry.FIVE_MINUTES)
    readings = json.loads(payload.read())["items"]
    df = pl.from_dicts(readings)
    df = df.select(pl.lit(parameter.value).alias("parameter"), pl.col("dateTime"), pl.col("value"))
    return df.rename(mapping={"dateTime": Columns.DATE.value, "value": Columns.VALUE.value})