I think the best approach would probably be to change the label during processing to make everything lower case. Maybe something like this (not tested):
stage.regex {
expression = `(?P<level>(?i)\b(info|debug|error|warn|trace|fatal)\b)`
}
stage.template {
source = "level_cleansed"
template = `{{ default "INFO" .level | ToLower }}`
}
stage.labels {
values = { "level" = "level_cleansed" }
}