Querying Todos with Designs with GraphQL result in Internal Error

Summary

GitLab added support for Todos in GraphQL. Seems there is an issue with todos on designs, because when querying for the target type on an todo for a design, in internal error is raised.

Steps to reproduce

  1. Create a project with a design and then create a todo on it, e.g., by being mentioned on it
  2. Use GraphQL to perform the following query:
{
  currentUser {
    todos {
      edges {
      	node {
         targetType
        }
      }
    }
  }
}

What is the current bug behavior?

Exception is thrown with following log:

GraphQL::EnumType::UnresolvedValueError (Can't resolve enum TodoTargetEnum for "DesignManagement::Design"):
lib/gitlab/graphql/generic_tracing.rb:40:in `with_labkit_tracing'
lib/gitlab/graphql/generic_tracing.rb:30:in `platform_trace'
lib/gitlab/graphql/generic_tracing.rb:40:in `with_labkit_tracing'
lib/gitlab/graphql/generic_tracing.rb:30:in `platform_trace'
app/graphql/gitlab_schema.rb:46:in `execute'
app/controllers/graphql_controller.rb:47:in `execute_query'
app/controllers/graphql_controller.rb:18:in `execute'
ee/lib/gitlab/ip_address_state.rb:10:in `with'
ee/app/controllers/ee/application_controller.rb:46:in `set_current_ip_address'
lib/gitlab/session.rb:11:in `with_session'
app/controllers/application_controller.rb:461:in `set_session_storage'
lib/gitlab/i18n.rb:55:in `with_locale'
lib/gitlab/i18n.rb:61:in `with_user_locale'
app/controllers/application_controller.rb:455:in `set_locale'
lib/gitlab/middleware/rails_queue_duration.rb:27:in `call'
lib/gitlab/metrics/rack_middleware.rb:17:in `block in call'
lib/gitlab/metrics/transaction.rb:62:in `run'
lib/gitlab/metrics/rack_middleware.rb:17:in `call'
lib/gitlab/request_profiler/middleware.rb:17:in `call'
ee/lib/gitlab/jira/middleware.rb:19:in `call'
lib/gitlab/middleware/go.rb:20:in `call'
lib/gitlab/etag_caching/middleware.rb:13:in `call'
lib/gitlab/middleware/correlation_id.rb:16:in `block in call'
lib/gitlab/middleware/correlation_id.rb:15:in `call'
lib/gitlab/middleware/multipart.rb:117:in `call'
lib/gitlab/middleware/read_only/controller.rb:48:in `call'
lib/gitlab/middleware/read_only.rb:18:in `call'
lib/gitlab/middleware/basic_health_check.rb:25:in `call'
lib/gitlab/request_context.rb:32:in `call'
lib/gitlab/metrics/requests_rack_middleware.rb:49:in `call'
lib/gitlab/middleware/release_env.rb:12:in `call'

What is the expected correct behavior?

(What you should see instead)

Output of checks

This bug happens on GitLab.com

Results of GitLab environment info

Tested on GitLab 12.4.0

/cc @pderichs @smcgivern