上記をもう少し関数型っぽくしてみました。

    import java.awt.image.BufferedImage
    import java.lang.reflect.Modifier._
    /** 画像のタイプを文字列で返す。ex.Some("TYPE_4BYTE_ABGR") */
    def getImageTypeName(image:BufferedImage):Option[String] = {
        // BufferedImageの宣言フィールドを取得する。
        classOf[BufferedImage].getDeclaredFields.filter{
            // 定数フィールドのみを通す
            _.getModifiers == (PUBLIC | STATIC | FINAL)
        }.find{
            // その値か?
            _.get(image) == image.getType
        }.map{
            // あれば、それを名前で返す
            _.getName
        }
    }

あまりやりすぎると、デバッグしにくくなり、未来の自分も理解に苦しんだりするんです。
ある程度「息つぎ」がある方が私好みです。