Olá, Paulo! Tudo bem?
Realmente é uma ideia muito boa!
No caso da validação do campo "publicada" conseguimos está opção porque utilizamos um booleano como parâmetro para a informação.
Já para a entrada das categorias estamos recebendo uma string, particularmente falando não conheço um modelo de campo que faça uma lista destes itens inseridos, talvez se houvesse um modelo que permitisse a interação entre campos facilitaria criar a opção de seleção a partir da lista.
De qualquer forma deixo como sugestão a documentação com uma lista dos modelos de formatação de campo disponíveis no Django:
https://docs.djangoproject.com/en/2.1/ref/models/fields/#field-types
Uma opção seria criar um modelo com as categorias e então ao invés de adicioná-las em nossas receitas fazer o import do que for inserido neste novo modelo para dentro de receitas.
Continue praticando.
Bons estudos e até mais!